<?php

class clsFrontController
{
	static function m_main()
	{
		date_default_timezone_set('Mexico/General');
	
		require 'clases/clsLogs.php'; //Clase de configuracion de carpetas  
		require 'clases/clsConfig.php'; //Clase de configuracion de carpetas  
		require 'clases/clsServer.php'; //SQL, para consultas
		require 'clases/clsVista.php'; //clase generadora de plantillas
		require 'clases/clsControllerBase.php';//controlador para la vista
		require 'clases/clsModelBase.php';//clase abstracta de la bd		
		require 'clases/clsFTP.php';
		require 'clases/clsSimpleImage.php'; 
		require 'clases/fpdf/fpdf.php'; 
		
		
		foreach (glob("mvc/modelos/*.php") as $filename)require $filename;
		

		//liberias
		require 'libPHP/libConfig.php'; //Archivo con configuraciones.
		require 'libPHP/libFuncionesGenerales.php';//funciones generales

		if(! empty($_GET['controlador']))
		     $controllerName = 'ctrl'.$_GET['controlador'];
		else
             $controllerName = "ctrlIndex";
 
 
		if(! empty($_GET['accion']))
		      $actionName = $_GET['accion'];
		else
		      $actionName = "m_index";
 
		$controllerPath = $objConfig->m_get('controladores') . $controllerName . '.php';
		
		if(is_file($controllerPath))
		      require $controllerPath;
		else
		      die('El controlador no existe - 404 not found'.$controllerPath);
 
 
		if (is_callable(array($controllerName, $actionName)) == false)
		{
			trigger_error ($controllerName . '->' . $actionName . ' no existe', E_USER_NOTICE);
			return false;
		}
		
		$controller = new $controllerName();
		$controller->$actionName();
	}
}
?>